import request from '../utils/api';

/**
 * 用户服务类
 * 封装与用户相关的API请求
 */
class UserService {
  /**
   * 获取租客列表
   * @param page 页码
   * @param pageSize 每页数量
   * @param keyword
   * @returns 用户列表数据
   */
  async getUserList(page: number = 1, pageSize: number = 10,keyword: string = '') {
    try {
      return await request.get('tenants/pageList', { page, pageSize, keyword });
    } catch (error) {
      console.error('获取用户列表失败:', error);
      throw error;
    }
  }

  /**
   * 获取用户详情
   * @param id 用户ID
   * @returns 用户详情数据
   */
  async getUserDetail(id: number) {
    try {
      return await request.get(`/users/${id}`);
    } catch (error) {
      console.error('获取用户详情失败:', error);
      throw error;
    }
  }

  /**
   * 创建用户
   * @param userData 用户数据
   * @returns 创建后的用户数据
   */
  async createUser(userData: any) {
    try {
      return await request.post('tenants/save', userData);
    } catch (error) {
      console.error('创建用户失败:', error);
      throw error;
    }
  }

  /**
   * 更新用户
   * @param id 用户ID
   * @param userData 用户数据
   * @returns 更新后的用户数据
   */
  async updateUser(id: number, userData: any) {
    try {
      return await request.put(`/users/${id}`, userData);
    } catch (error) {
      console.error('更新用户失败:', error);
      throw error;
    }
  }

  /**
   * 删除用户
   * @param id 用户ID
   * @returns 删除结果
   */
  async deleteUser(id: number) {
    try {
      return await request.delete(`/users/${id}`);
    } catch (error) {
      console.error('删除用户失败:', error);
      throw error;
    }
  }
}

export default new UserService();
